Vision-based indicator signal detection using spatiotemporal filtering

ABSTRACT

An autonomous vehicle is configured to detect an active turn signal indicator on another vehicle. An image-capture device of the autonomous vehicle captures an image of a field of view of the autonomous vehicle. The autonomous vehicle captures the image with a short exposure to emphasize objects having brightness above a threshold. Additionally, a bounding area for a second vehicle located within the image is determined. The autonomous vehicle identifies a group of pixels within the bounding area based on a first color of the group of pixels. The autonomous vehicle also calculates an oscillation of an intensity of the group of pixels. Based on the oscillation of the intensity, the autonomous vehicle determines a likelihood that the second vehicle has a first active turn signal. Additionally, the autonomous vehicle is controlled based at least on the likelihood that the second vehicle has a first active turn signal.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 15/862,291, filed on Jan. 4, 2018, which is a continuation ofU.S. patent application Ser. No. 15/331,079, filed on Oct. 21, 2016 (nowU.S. Pat. No. 9,892,327), which is a continuation of U.S. patentapplication Ser. No. 15/056,780, filed on Feb. 29, 2016 (now U.S. Pat.No. 9,507,347), which is a continuation of U.S. patent application Ser.No. 13/927,248, filed on Jun. 26, 2013 (now U.S. Pat. No. 9,305,223),all of which are herein incorporated by reference in their entirety.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

A vehicle could be any wheeled, powered vehicle and may include a car,truck, motorcycle, bus, etc. Vehicles can be utilized for various taskssuch as transportation of people and goods, as well as many other uses.

Some vehicles may be partially or fully autonomous. For instance, when avehicle is in an autonomous mode, some or all of the driving aspects ofvehicle operation can be handled by a vehicle control system. In suchcases, computing devices located onboard and/or in a server networkcould be operable to carry out functions such as planning a drivingroute, sensing aspects of the vehicle, sensing the environment of thevehicle, and controlling drive components such as steering, throttle,and brake. Thus, autonomous vehicles may reduce or eliminate the needfor human interaction in various aspects of vehicle operation.

SUMMARY

The present application discloses embodiments that relate to detectionof turn signal indicators in the field of view of an automobile. In oneaspect, the present application describes a method. The method includesreceiving, from an image-capture device, coupled to a first vehicle, animage of a field of view of the first vehicle. The image-capture deviceis configured to capture an image with a short exposure to emphasizeobjects having brightness above a threshold. Additionally, the methodincludes determining a bounding area for a second vehicle located withinthe image. The method also includes identifying a group of pixels in theimage based on a first color of the group of pixels, where the group ofpixels is located within a region of the bounding area. The method alsoincludes calculating an oscillation of an intensity of the group ofpixels. Based on the oscillation of the intensity, the method determinesa likelihood that the second vehicle has an active indicator signal.Additionally, the method includes providing instructions to control,using a computing device, the vehicle based at least on the likelihoodthat the second vehicle has an active indicator signal.

In some examples of the method, the bounding area may be determinedbased on data stored in a memory. And in additional examples, theoscillation of the group of pixels may be between about 0.75 and about2.5 Hertz. Further, in various examples, the method may includedetermining a likelihood that the second vehicle has another activeindicator signal, based on a second oscillation of a second group ofpixels. Additionally, the method may also include determining, based onboth the likelihood that the second vehicle has an active indictorsignal and the likelihood that the second vehicle has a second activeturn signal, a likelihood that the second vehicle has active emergencylights. In some embodiments, the bounding area defines a region of theimage in which the second vehicle is located.

In some examples, the method may also identify a group of pixels in theimage based on a second color of the group of pixels and determine acorrelation between the intensity of the first color of the group ofpixels and an intensity of the second color of the group of pixels. Andbased on the correlation, the method may determine a likelihood that thesecond vehicle has the active indicator signal. The method may alsoidentify a sun glare based on the correlation.

In another aspect, the present application describes a control system.The control system includes at least one processor and a memory. Thememory has stored thereon instructions that, upon execution by the atleast one processor, cause the control system to perform functions. Thefunctions include receiving, from an image-capture device coupled to afirst vehicle, an image of a field of view of the first vehicle. Theimage-capture device is configured to capture an image with a shortexposure to emphasize objects having brightness above a threshold.Additionally, the functions include determining a bounding area for asecond vehicle located within the image. The functions also includeidentifying a group of pixels in the image based on a first color of thegroup of pixels, where the group of pixels is located within a region ofthe bounding area. The functions also include calculating an oscillationof an intensity of the group of pixels. Based on the oscillation of theintensity, a function determines a likelihood that the second vehiclehas an active indicator signal. Additionally, functions includeproviding instructions to control, using a computing device, the vehiclebased at least on the likelihood that the second vehicle has an activeindicator signal.

In some additional examples, the control system may include functionswhere bounding area is determined based on data stored in a memory. Infurther examples, the control system functions may determine theoscillation is between about 0.75 and about 2.5 Hertz. Additionally, thefunctions may also include determining, based on both the likelihoodthat the second vehicle has an active indicator signal and thelikelihood that the second vehicle has another active indicator signal,a likelihood that the second vehicle has active emergency hazard lights.In some embodiments, the bounding area defines a region of the image inwhich the second vehicle is located.

In some examples, the functions may also identify a group of pixels inthe image based on a second color of the group of pixels and determine acorrelation between the intensity of the first color of the group ofpixels and an intensity of the second color of the group of pixels. Andbased on the correlation, the functions may determine a likelihood thatthe second vehicle has the active indicator signal.

In yet another aspect, the present application describes anon-transitory computer readable medium having stored thereoninstructions, that when executed by a computing device, cause thecomputing device to perform functions. The functions include receiving,from an image-capture device coupled to a first vehicle, an image of afield of view of the first vehicle. The image-capture device isconfigured to capture an image with a short exposure to emphasizeobjects having brightness above a threshold. Additionally, the functionsinclude determining a bounding area for a second vehicle located withinthe image. The functions also include identifying a group of pixels inthe image based on a first color of the group of pixels, where the groupof pixels is located within a region of the bounding area. The functionsalso include calculating an oscillation of an intensity of the group ofpixels. Based on the oscillation of the intensity, a function determinesa likelihood that the second vehicle has an active indicator signal.Additionally, functions include providing instructions to control, usinga computing device, the vehicle based at least on the likelihood thatthe second vehicle has an active indicator signal.

In some additional examples, the control system may include functionswhere bounding area is determined based on data stored in a memory. Infurther examples, the control system functions may determine theoscillation is between about 0.75 and about 2.5 Hertz. Additionally, thefunctions may also include determining, based on both the likelihoodthat the second vehicle has an active indicator signal and thelikelihood that the second vehicle has another active indicator signal,a likelihood that the second vehicle has active emergency lights. Insome embodiments, the bounding area defines a region of the image inwhich the second vehicle is located.

In some examples, the functions may also identify a group of pixels inthe image based on a second color of the group of pixels and determine acorrelation between the intensity of the first color of the group ofpixels and an intensity of the second color of the group of pixels. Andbased on the correlation, the functions may determine a likelihood thatthe second vehicle has the active indicator signal.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the figures and the followingdetailed description.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a functional block diagram illustrating a vehicle, accordingto an example embodiment.

FIG. 2 shows a vehicle, according to an example embodiment.

FIG. 3A illustrates an example field of view of a vehicle.

FIG. 3B illustrates an example bounding area within an image.

FIG. 3C illustrates an example image with a short exposure.

FIG. 3D illustrates two example groups of pixels within an image.

FIG. 4 illustrates an example method for real-time image-based turnsignal detection.

FIG. 5 illustrates an example computer readable medium configured forreal-time image-based turn signal detection.

DETAILED DESCRIPTION

Example methods and systems are described herein. Any example embodimentor feature described herein is not necessarily to be construed aspreferred or advantageous over other embodiments or features. Theexample embodiments described herein are not meant to be limiting. Itwill be readily understood that certain aspects of the disclosed systemsand methods can be arranged and combined in a wide variety of differentconfigurations, all of which are contemplated herein.

Furthermore, the particular arrangements shown in the Figures should notbe viewed as limiting. It should be understood that other embodimentsmight include more or less of each element shown in a given Figure.Further, some of the illustrated elements may be combined or omitted.Yet further, an example embodiment may include elements that are notillustrated in the Figures.

An example embodiment involves an autonomous vehicle configured with animaging system. The imaging system may include a camera configured tocapture images, video, or both images and video. The captured images andvideo are stored in a memory for processing. Some or all of the capturedimages may be forward-facing images of a field of view of the vehicle.For example, some of the images captured by the imaging system mayresemble the view a driver of the vehicle may see as the driver operatesthe vehicle. Additional images may capture side and rear views from thevehicle as well.

A processing system in the vehicle is configured to detect turn signalindicators or other signal indicators associated with cars in thecaptured images and video. The processing system detects turn signalindicators by first receiving an indication of a vehicle located in acaptured image. The indication of a vehicle can be included in abounding area of an image. The bounding area defines a region within thecaptured image where a vehicle is located. In some examples, a vehicledetection system may first locate vehicles within at least one capturedimage and responsively define a respective bounding area for each of thesaid vehicles.

Additionally, the camera in the vehicle may capture an image with ashort exposure time. The short exposure images may be captured inaddition to normal exposure images. For example, the camera may captureshort exposure images and normal exposure images in an alternatingmanner. The short exposure time causes the image to generally be darkwith the brightest portions of the field of view of the vehicle to bepresent in the image as a group of pixels. When the bounding areas forvehicles are overlaid on the short exposure image, the group of pixelsof the image may be compared to the bounding area to determine if theycorrespond to turn signal indicators. Further, a plurality of shortexposure time images may be captured. A variation in the intensity ofthe group of pixels may be calculated. If the group of pixelscorresponded to an active turn signal indicator, the intensity of thegroup of pixels may have an oscillation between about 0.75 and about 2.5Hz.

A control system of the vehicle may responsively adjust the vehiclecontrol when vehicles are detected in the captured image. For example,the control system may alter a course of the vehicle or alter a speed ofthe vehicle. Additionally, the control system may record the position ofthe vehicle detected in the image. The control system may calculatevehicle control signals based on vehicles detected within the field ofview.

Example systems within the scope of the present disclosure will now bedescribed in greater detail. An example system may be implemented in ormay take the form of an automobile. However, an example system may alsobe implemented in or take the form of other vehicles, such as cars,trucks, motorcycles, buses, boats, airplanes, helicopters, lawn mowers,earth movers, boats, snowmobiles, aircraft, recreational vehicles,amusement park vehicles, farm equipment, construction equipment, trams,golf carts, trains, and trolleys. Other vehicles are possible as well.

FIG. 1 is a functional block diagram illustrating a vehicle 100,according to an example embodiment. The vehicle 100 could be configuredto operate fully or partially in an autonomous mode. For example, acomputer system could control the vehicle 100 while in the autonomousmode, and may be operable to capture an image with a camera in vehicle100, analyze the image for the presence of a turn signal indicator, andresponsively control vehicle 100 based on the presence of the turnsignal indicator. While in autonomous mode, the vehicle 100 may beconfigured to operate without human interaction.

The vehicle 100 could include various subsystems such as a propulsionsystem 102, a sensor system 104, a control system 106, one or moreperipherals 108, as well as a power supply 110, a computer system 112, adata storage 114, and a user interface 116. The vehicle 100 may includemore or fewer subsystems and each subsystem could include multipleelements. Further, each of the subsystems and elements of vehicle 100could be interconnected. Thus, one or more of the described functions ofthe vehicle 100 may be divided up into additional functional or physicalcomponents, or combined into fewer functional or physical components. Insome further examples, additional functional and/or physical componentsmay be added to the examples illustrated by FIG. 1.

The propulsion system 102 may include components operable to providepowered motion for the vehicle 100. Depending upon the embodiment, thepropulsion system 102 could include an engine/motor 118, an energysource 119, a transmission 120, and wheels/tires 121. The engine/motor118 could be any combination of an internal combustion engine, anelectric motor, steam engine, Stirling engine. Other motors and/orengines are possible. In some embodiments, the engine/motor 118 may beconfigured to convert energy source 119 into mechanical energy. In someembodiments, the propulsion system 102 could include multiple types ofengines and/or motors. For instance, a gas-electric hybrid car couldinclude a gasoline engine and an electric motor. Other examples arepossible.

The energy source 119 could represent a source of energy that may, infull or in part, power the engine/motor 118. Examples of energy sources119 contemplated within the scope of the present disclosure includegasoline, diesel, other petroleum-based fuels, propane, other compressedgas-based fuels, ethanol, solar panels, batteries, and other sources ofelectrical power. The energy source(s) 119 could additionally oralternatively include any combination of fuel tanks, batteries,capacitors, and/or flywheels. The energy source 119 could also provideenergy for other systems of the vehicle 100.

The transmission 120 could include elements that are operable totransmit mechanical power from the engine/motor 118 to the wheels/tires121. The transmission 120 could include a gearbox, a clutch, adifferential, and a drive shaft. Other components of transmission 120are possible. The drive shafts could include one or more axles thatcould be coupled to the one or more wheels/tires 121.

The wheels/tires 121 of vehicle 100 could be configured in variousformats, including a unicycle, bicycle/motorcycle, tricycle, orcar/truck four-wheel format. Other wheel/tire geometries are possible,such as those including six or more wheels. Any combination of thewheels/tires 121 of vehicle 100 may be operable to rotate differentiallywith respect to other wheels/tires 121. The wheels/tires 121 couldrepresent at least one wheel that is fixedly attached to thetransmission 120 and at least one tire coupled to a rim of the wheelthat could make contact with the driving surface. The wheels/tires 121could include any combination of metal and rubber. Other materials arepossible.

The sensor system 104 may include several elements such as a GlobalPositioning System (GPS) 122, an inertial measurement unit (IMU) 124, aradar 126, a laser rangefinder/LIDAR 128, a camera 130, a steeringsensor 123, and a throttle/brake sensor 125. The sensor system 104 couldalso include other sensors, such as those that may monitor internalsystems of the vehicle 100 (e.g., O₂ monitor, fuel gauge, engine oiltemperature, brake wear).

The GPS 122 could include a transceiver operable to provide informationregarding the position of the vehicle 100 with respect to the Earth. TheIMU 124 could include a combination of accelerometers and gyroscopes andcould represent any number of systems that sense position andorientation changes of a body based on inertial acceleration.Additionally, the IMU 124 may be able to detect a pitch and yaw of thevehicle 100. The pitch and yaw may be detected while the vehicle isstationary or in motion.

The radar 126 may represent a system that utilizes radio signals tosense objects, and in some cases their speed and heading, within thelocal environment of the vehicle 100. Additionally, the radar 126 mayhave a plurality of antennas configured to transmit and receive radiosignals. The laser rangefinder/LIDAR 128 could include one or more lasersources, a laser scanner, and one or more detectors, among other systemcomponents. The laser rangefinder/LIDAR 128 could be configured tooperate in a coherent mode (e.g., using heterodyne detection) or in anincoherent detection mode. The camera 130 could include one or moredevices configured to capture a plurality of images of the environmentof the vehicle 100. The camera 130 could be a still camera or a videocamera.

The steering sensor 123 may represent a system that senses the steeringangle of the vehicle 100. In some embodiments, the steering sensor 123may measure the angle of the steering wheel itself. In otherembodiments, the steering sensor 123 may measure an electrical signalrepresentative of the angle of the steering wheel. Still, in furtherembodiments, the steering sensor 123 may measure an angle of the wheelsof the vehicle 100. For instance, an angle of the wheels with respect toa forward axis of the vehicle 100 could be sensed. Additionally, in yetfurther embodiments, the steering sensor 123 may measure a combination(or a subset) of the angle of the steering wheel, electrical signalrepresenting the angle of the steering wheel, and the angle of thewheels of vehicle 100.

The throttle/brake sensor 125 may represent a system that senses theposition of either the throttle position or brake position of thevehicle 100. In some embodiments, separate sensors may measure thethrottle position and brake position. In some embodiments, thethrottle/brake sensor 125 may measure the angle of both the gas pedal(throttle) and brake pedal. In other embodiments, the throttle/brakesensor 125 may measure an electrical signal that could represent, forinstance, an angle of a gas pedal (throttle) and/or an angle of a brakepedal. Still, in further embodiments, the throttle/brake sensor 125 maymeasure an angle of a throttle body of the vehicle 100. The throttlebody may include part of the physical mechanism that provides modulationof the energy source 119 to the engine/motor 118 (e.g., a butterflyvalve or carburetor). Additionally, the throttle/brake sensor 125 maymeasure a pressure of one or more brake pads on a rotor of vehicle 100.In yet further embodiments, the throttle/brake sensor 125 may measure acombination (or a subset) of the angle of the gas pedal (throttle) andbrake pedal, electrical signal representing the angle of the gas pedal(throttle) and brake pedal, the angle of the throttle body, and thepressure that at least one brake pad is applying to a rotor of vehicle100. In other embodiments, the throttle/brake sensor 125 could beconfigured to measure a pressure applied to a pedal of the vehicle, suchas a throttle or brake pedal.

The control system 106 could include various elements include steeringunit 132, throttle 134, brake unit 136, a sensor fusion algorithm 138, acomputer vision system 140, a navigation/pathing system 142, and anobstacle avoidance system 144. The steering unit 132 could represent anycombination of mechanisms that may be operable to adjust the heading ofvehicle 100. The throttle 134 could control, for instance, the operatingspeed of the engine/motor 118 and thus control the speed of the vehicle100. The brake unit 136 could be operable to decelerate the vehicle 100.The brake unit 136 could use friction to slow the wheels/tires 121. Inother embodiments, the brake unit 136 could convert the kinetic energyof the wheels/tires 121 to electric current.

A sensor fusion algorithm 138 could include, for instance, a Kalmanfilter, Bayesian network, or other algorithm that may accept data fromsensor system 104 as input. The sensor fusion algorithm 138 couldprovide various assessments based on the sensor data. Depending upon theembodiment, the assessments could include evaluations of individualobjects and/or features, evaluation of a particular situation, and/orevaluate possible impacts based on the particular situation. Otherassessments are possible.

The computer vision system 140 could include hardware and softwareoperable to process and analyze images in an effort to determineobjects, important environmental features (e.g., stop lights, road wayboundaries, etc.), and obstacles. The computer vision system 140 coulduse object recognition, Structure From Motion (SFM), video tracking, andother algorithms used in computer vision, for instance, to recognizeobjects, map an environment, track objects, estimate the speed ofobjects, etc.

The navigation/pathing system 142 could be configured to determine adriving path for the vehicle 100. The navigation/pathing system 142 mayadditionally update the driving path dynamically while the vehicle 100is in operation. In some embodiments, the navigation/pathing system 142could incorporate data from the sensor fusion algorithm 138, the GPS122, and known maps so as to determine the driving path for vehicle 100.

The obstacle avoidance system 144 could represent a control systemconfigured to evaluate potential obstacles based on sensor data andcontrol the vehicle 100 to avoid or otherwise negotiate the potentialobstacles.

Various peripherals 108 could be included in vehicle 100. For example,peripherals 108 could include a wireless communication system 146, atouchscreen 148, a microphone 150, and/or a speaker 152. The peripherals108 could provide, for instance, means for a user of the vehicle 100 tointeract with the user interface 116. For example, the touchscreen 148could provide information to a user of vehicle 100. The user interface116 could also be operable to accept input from the user via thetouchscreen 148. In other instances, the peripherals 108 may providemeans for the vehicle 100 to communicate with devices within itsenvironment.

In one example, the wireless communication system 146 could beconfigured to wirelessly communicate with one or more devices directlyor via a communication network. For example, wireless communicationsystem 146 could use 3G cellular communication, such as CDMA, EVDO,GSM/GPRS, or 4G cellular communication, such as WiMAX or LTE.Alternatively, wireless communication system 146 could communicate witha wireless local area network (WLAN), for example, using WiFi. In someembodiments, wireless communication system 146 could communicatedirectly with a device, for example, using an infrared link, Bluetooth,or ZigBee. Other wireless protocols, such as various vehicularcommunication systems, are possible within the context of thedisclosure. For example, the wireless communication system 146 couldinclude one or more dedicated short range communications (DSRC) devicesthat could include public and/or private data communications betweenvehicles and/or roadside stations.

The power supply 110 may provide power to various components of vehicle100 and could represent, for example, a rechargeable lithium-ion orlead-acid battery. In an example embodiment, one or more banks of suchbatteries could be configured to provide electrical power. Other powersupply materials and types are possible. Depending upon the embodiment,the power supply 110, and energy source 119 could be integrated into asingle energy source, such as in some all-electric cars.

Many or all of the functions of vehicle 100 could be controlled bycomputer system 112. Computer system 112 may include at least oneprocessor 113 (which could include at least one microprocessor) thatexecutes instructions 115 stored in a non-transitory computer readablemedium, such as the data storage 114. The computer system 112 may alsorepresent a plurality of computing devices that may serve to controlindividual components or subsystems of the vehicle 100 in a distributedfashion.

In some embodiments, data storage 114 may contain instructions 115(e.g., program logic) executable by the processor 113 to execute variousfunctions of vehicle 100, including those described above in connectionwith FIG. 1. Data storage 114 may contain additional instructions aswell, including instructions to transmit data to, receive data from,interact with, and/or control one or more of the propulsion system 102,the sensor system 104, the control system 106, and the peripherals 108.

In addition to the instructions 115, the data storage 114 may store datasuch as roadway map data 166, path information, among other information.Such information may be used by vehicle 100 and computer system 112during the operation of the vehicle 100 in the autonomous,semi-autonomous, and/or manual modes.

The vehicle 100 may include a user interface 116 for providinginformation to or receiving input from a user of vehicle 100. The userinterface 116 could control or enable control of content and/or thelayout of interactive images that could be displayed on the touchscreen148. Further, the user interface 116 could include one or moreinput/output devices within the set of peripherals 108, such as thewireless communication system 146, the touchscreen 148, the microphone150, and the speaker 152.

The computer system 112 may control the function of the vehicle 100based on inputs received from various subsystems (e.g., propulsionsystem 102, sensor system 104, and control system 106), as well as fromthe user interface 116. For example, the computer system 112 may utilizeinput from the sensor system 104 in order to estimate the outputproduced by the propulsion system 102 and the control system 106.Depending upon the embodiment, the computer system 112 could be operableto monitor many aspects of the vehicle 100 and its subsystems. In someembodiments, the computer system 112 may disable some or all functionsof the vehicle 100 based on signals received from sensor system 104.

The components of vehicle 100 could be configured to work in aninterconnected fashion with other components within or outside theirrespective systems. For instance, in an example embodiment, the camera130 could capture a plurality of images that could represent informationabout a state of an environment of the vehicle 100 operating in anautonomous mode. The state of the environment could include parametersof the road on which the vehicle is operating. For example, the computervision system 140 may be able to recognize the slope (grade) or otherfeatures based on the plurality of images of a roadway. Additionally,the combination of Global Positioning System 122 and the featuresrecognized by the computer vision system 140 may be used with map data166 stored in the data storage 114 to determine specific roadparameters. Further, the radar unit 126 may also provide informationabout the surroundings of the vehicle.

In other words, a combination of various sensors (which could be termedinput-indication and output-indication sensors) and the computer system112 could interact to provide an indication of an input provided tocontrol a vehicle or an indication of the surroundings of a vehicle.

The computer system 112 could carry out several determinations based onthe indications received from the input- and output-indication sensors.For example, the computer system 112 could calculate the direction (i.e.angle) and distance (i.e. range) to one or more objects that arereflecting radar signals back to the radar unit 126. Additionally, thecomputer system 112 could calculate a range of interest. The range ofinterest could, for example, correspond to a region where the computersystem 112 has identified one or more targets of interest. Additionallyor additionally, the computer system 112 may identify one or moreundesirable targets. Thus, a range of interest may be calculated so asnot to include undesirable targets.

In some embodiments, the computer system 112 may make a determinationabout various objects based on data that is provided by systems otherthan the radar system. For example, the vehicle may have lasers or otheroptical sensors configured to sense objects in a field of view of thevehicle. The computer system 112 may use the outputs from the varioussensors to determine information about objects in a field of view of thevehicle. The computer system 112 may determine distance and directioninformation to the various objects. The computer system 112 may alsodetermine whether objects are desirable or undesirable based on theoutputs from the various sensors.

Although FIG. 1 shows various components of vehicle 100, i.e., wirelesscommunication system 146, computer system 112, data storage 114, anduser interface 116, as being integrated into the vehicle 100, one ormore of these components could be mounted or associated separately fromthe vehicle 100. For example, data storage 114 could, in part or infull, exist separate from the vehicle 100. Thus, the vehicle 100 couldbe provided in the form of device elements that may be locatedseparately or together. The device elements that make up vehicle 100could be communicatively coupled together in a wired and/or wirelessfashion.

FIG. 2 shows a vehicle 200 that could be similar or identical to vehicle100 described in reference to FIG. 1. Depending on the embodiment,vehicle 200 could include a sensor unit 202, a wireless communicationsystem 208, a radar 206, a laser rangefinder 204, and a camera 210. Theelements of vehicle 200 could include some or all of the elementsdescribed for FIG. 1. Although vehicle 200 is illustrated in FIG. 2 as acar, other embodiments are possible. For instance, the vehicle 200 couldrepresent a truck, a van, a semi-trailer truck, a motorcycle, a golfcart, an off-road vehicle, or a farm vehicle, among other examples.

The sensor unit 202 could include one or more different sensorsconfigured to capture information about an environment of the vehicle200. For example, sensor unit 202 could include any combination ofcameras, radars, LIDARs, range finders, and acoustic sensors. Othertypes of sensors are possible. Depending on the embodiment, the sensorunit 202 could include one or more movable mounts that could be operableto adjust the orientation of one or more sensors in the sensor unit 202.In one embodiment, the movable mount could include a rotating platformthat could scan sensors so as to obtain information from each directionaround the vehicle 200. In another embodiment, the movable mount of thesensor unit 202 could be moveable in a scanning fashion within aparticular range of angles and/or azimuths. The sensor unit 202 could bemounted atop the roof of a car, for instance, however other mountinglocations are possible. Additionally, the sensors of sensor unit 202could be distributed in different locations and need not be collocatedin a single location. Some possible sensor types and mounting locationsinclude radar 206 and laser rangefinder 204.

The wireless communication system 208 could be located as depicted inFIG. 2. Alternatively, the wireless communication system 208 could belocated, fully or in part, elsewhere. The wireless communication system208 may include wireless transmitters and receivers that could beconfigured to communicate with devices external or internal to thevehicle 200. Specifically, the wireless communication system 208 couldinclude transceivers configured to communicate with other vehiclesand/or computing devices, for instance, in a vehicular communicationsystem or a roadway station. Examples of such vehicular communicationsystems include dedicated short range communications (DSRC), radiofrequency identification (RFID), and other proposed communicationstandards directed towards intelligent transport systems.

The camera 210 could be mounted inside a front windshield of the vehicle200. The camera 210 could be configured to capture a plurality of imagesof the environment of the vehicle 200. Specifically, as illustrated, thecamera 210 could capture images from a forward-looking view with respectto the vehicle 200. Other mounting locations and viewing angles ofcamera 210 are possible. The camera 210 could represent one or morevisible light cameras. Alternatively or additionally, camera 210 couldinclude infrared sensing capabilities. The camera 210 could haveassociated optics that could be operable to provide an adjustable fieldof view. Further, the camera 210 could be mounted to vehicle 200 with amovable mount that could be operable to vary a pointing angle of thecamera 210.

FIG. 3A illustrates an example field of view 310 of a vehicle 302. Thevehicle 302 includes an imaging device, such as camera 134 as describedwith respect to FIG. 1. The camera on the vehicle 302 has an associatedfield of view 310. The field of view 310 depends on the specific camerathat is used. The field of view 310 may be adjusted by changing the zoomlevel, focal length, or lens of the camera on the vehicle. For example,in some embodiments, the vehicle may include a camera with a telephotolens. The telephoto lens enables the camera to zoom; however, the zoomreduces the field of view 310 of the camera.

As the vehicle 302 travels down a roadway 312, the field of view 310 ofthe camera may point in the direction of travel of the vehicle 302.Within the field of view 301, there may be a plurality of vehicles. Asshown in FIG. 1, vehicles 304, 306, and 308 are all within the field ofview 310 of vehicle 302. The vehicles 304, 306, and 308 are all showntraveling in the same direction as vehicle 302; however, vehicles withinthe field of view 310 may be traveling in directions other than in thesame direction as vehicle 302. For example, some of the vehicles withinthe field of view may be traveling towards vehicle 302 or perpendicularto vehicle 302. Additionally, vehicles 304 and 308 may be completelyvisible within the field of view 310 of vehicle 302. Conversely, withinthe field of view 301, vehicle 306 may be partially obstructed by thevehicle 304.

The camera of vehicle 302 is configured to either capture video or sillframes of the field of view 310. The captured images or video will laterbe processed to identify whether or not vehicles, such as vehicles 304,306, and 308, are within the field of view 310 of vehicle 302.

FIG. 3B illustrates a bounding area 322 within an image 320. The image320 corresponds to an image captured of the field of view 310 of FIG.3A. In one embodiment, a processing system in the vehicle will analyzeimage 320 to determine if image 320 contains a depiction of a vehicle.However, in other embodiments, the processing system in the vehicle mayalready know the location of vehicles within an image based on data fromother sensors. The processing system may already know about the locationof other vehicles based on data stored in the memory of the vehicle. Thedata in the memory may have been stored by a vehicle detection system.In each embodiment, the bounding area 322 corresponds to the location ofat least one vehicle in the captured image.

Each vehicle in the captured image may have its own respective boundingarea. In some situations, the bounding area corresponding to one vehiclemay overlap the bounding area corresponding to another vehicle. In thesesituations, the processing system will determine which vehicle is in theforeground and which vehicle in the background. Because the vehicle inthe foreground is fully within view, it will be completely containedwithin a bounding area. The vehicle in the background will be partiallyobscured by the foreground vehicle, thus its respective bounding areamay be clipped or adjusted so only the respective vehicle is containedwithin the bounding area.

FIG. 3C illustrates an image 340 with a short exposure time. When animage is captured with a short exposure time, the image appears quitedark. Only the brightest spots within the field of view of the camerawill show up in the image 340. Further, an exposure time and shutterspeed of the camera may be selected based on the desired imagecharacteristics. In some embodiments, image 320 of FIG. 3B and image 340may be captured sequentially. Image 320 may be used by the vehicledetection system to determine a bounding area for a vehicle in the image320. Because image 340 may have been captured right after image 320 wascaptured, the bounding area for the vehicle in image 320 will be thesame (or substantially similar) as a bounding area 342 for the vehiclein image 340. Further, image 340 may be too dark for the vehicledetection system to determine a vehicle based just on image 340 itself.Additionally, in some other embodiments the bounding area 342 for image340 may be calculated based on data stored in a memory of the vehicle.

The turn signal detection system may search the bounding area 342 of theshort exposure time image 340 to determine if turn signal indicators arepresent within the bounding area 342. Because the bounding area 342corresponds to the maximum extent of the vehicle in the image, any turnsignal indicators corresponding to the vehicle will be located withinthe bounding area 342. Additionally, because image 340 has a shortexposure time, any object in the image that are bright show up in image340. The turn signals (344A and 344B) of the vehicle in image 340 areshown by left turn signal 344A and right turn signal 344B each appear asa group of pixels in image 340. Both the left turn signal 344A and theright turn signal 344B are located within the bounding area 342. In someinstances, bounding area 342 may contain more objects other than leftturn signal 344A and right turn signal 344B. Each object may appear as alighter group of pixels within the bounding area 342. The turn signaldetection system will analyze each group of pixels to determine if it isan active turn signal indicator.

In one embodiment, the turn signal detection system detects a possibleturn signal by filtering inside each car bounding box of the dark imagewith a weighted template. The weighted template may be a rectangle (orother shape) with weights −1, 0, and +1. Different weighting values maybe used depending on the embodiment. The filter may iteratively analyzeeach portion of the bounding box to determine a score for each positionof the template. Bright pixels inside the template are weighted as +1,those in the border region of the template are weighted as 0, and thoseoutside the template are weighted as −1. When the brightest region iswithin the template, the template has the highest score. This templateallows the identification of the brightest amber-colored (orred-colored) rectangular group of pixels within the bounding box. Insome embodiments, the bounding box is divided into a left and right halffor each car within the image. The value of the brightness of these leftand right groups of pixels may be monitored over time to detectoscillations of the desired frequency in each half of the car.

FIG. 3D illustrates two groups of pixels 362A and 362B within an image360 as identified via the short exposure time image 340 of FIG. 3C. Thefirst group of pixels 362A corresponds to the left turn signal 344A andthe second group of pixels 362B corresponds to the right turn signal344B. As shown, FIG. 3D contains image 360 (similar to image 320 shownin FIG. 3B); however, an image similar to image 340 (of FIG. 3C) mayalso be used to identify the group of pixels. FIG. 3D contains an imagesimilar to image 320 for the sake of explanation as image 340 is toodark to show the actual vehicle. However, the explanation presented hereis applicable to either an image similar to image 320 or an imagesimilar to image 340.

To determine if each group of pixels corresponds to an active turnsignal indicator, two different determinations may be used. Onedetermination makes an analysis of the color of both the turn left turnsignal 344A and the right turn signal 344B. The other determinationanalyzes the variation in intensity of the group of pixels.

Because turn signals are typically either red or amber (yellow) incolor, the image 360 may be analyzed based on each individual colorcomponent of the image. For example, image 360 may be divided intoseparate images for each color channel. In order to determine whetherthe group of pixels indicate a turn signal or whether the group ofpixels indicate sun glare, a target color channel may be compared to anundesirable color channel. For example, when one (or both) of the twogroups of pixels 362A and 362B indicate a presence of either red oramber, the group of pixels may be a turn signal indicator. However, ifthe one (or both) of the two groups of pixels 362A and 362B indicate thepresence of an undesired color as well (such as blue), then the group ofpixels likely does not indicate a turn signal. The presence of both thedesired color (red or amber) and the undesired color indicate the groupof pixels is caused by a light source with a fuller color spectrum thanthat of a turn signal, often this fuller color spectrum light source isglare from the sun or other light source.

Additionally, the intensity level of the two groups of pixels 362A and362B is analyzed. A turn signal indicator has three different modes ofsignaling. In the first mode the turn signal indicator has a steady lowintensity. This steady low intensity indicates a vehicle is in a normaloperating state. Additionally, this steady low intensity may alsoindicate that the vehicle has its headlights on. In the second mode ofoperation, the turn signal indicator has a steady high intensity. Thissteady high intensity typically indicates a vehicle is braking. Thus,both turn signal indicators would have a steady high intensity at thesame time. The third signaling mode is an oscillation from highintensity to low intensity. When the oscillation from high intensity tolow intensity is on one of the two groups of pixels 362A and 362B, itindicates an active turn signal. However, when the oscillation from highintensity to low intensity is on both of the two groups of pixels 362Aand 362B, it indicates either emergency flashers or a tapping thebrakes. Thus, to detect turn signals, the processing system determinesif one of the two groups of pixels 362A and 362B has an oscillatingintensity while the opposing group of pixels does not. Typically, a turnsignal will have an oscillation between about 0.75 and about 2.5 Hertz.

FIG. 4 illustrates an example method 400 for real-time image-based turnsignal detection. A method 400 is provided for real-time image-basedturn signal detection for the self-driving car. The method could beperformed to detect turn signals associated with vehicles in images,similar to what was described with respect to FIGS. 3A-3D; however, themethod 400 is not limited to the scenarios shown in FIGS. 3A-3D. FIG. 4illustrates the blocks in an example method for real-time image-basedturn signal detection for the self-driving car. However, it isunderstood that in other embodiments, the blocks may appear in differentorder and blocks could be added, subtracted, or modified. Additionally,the blocks may be performed in a linear manner (as shown) or may beperformed in a parallel manner (not shown).

Block 402 includes receiving an image of a field of view of a vehicle.As previously discussed, the autonomous vehicle includes an imagingsystem. The imaging system is configured to capture either (i) stillimages or (ii) video of a field of view in front of the vehicle. Theimaging system stores the captured image or data as data in a memory. Atblock 402, the images may be received from the memory for processing. Inadditional embodiments, at block 402, images may be received directlyfrom the imaging system. However, in both embodiments, datarepresentative of an image (or a video) is received for processing. Ifthe data corresponds to a video, a single frame may be extracted fromthe video for analysis. Additionally, multiple frames of video may beanalyzed either sequentially or in parallel.

The image received at block 402 may be similar to image 340 of FIG. 3C,an image that was captured with a short exposure time and a relativelyfast shutter. When an image is captured with a short exposure time and arelatively fast shutter, the image appears quite dark. Only thebrightest spots within the field of view of the camera will show up animage captured in this way. For example, when a camera captures an imageof the field of view of the vehicle using a short exposure time and arelatively fast shutter, the image will generally appear almostcompletely black with only illuminated objects showing up in the image.Thus, the image may only include illuminated tail lights, turn signalindicators, traffic signals, and other objects.

Block 404 includes determining a bounding area for a vehicle of theimage. A bounding area defines a region within an image where a vehicleis located. For example, when an image is captured by a still or videocamera, the image may contain a vehicle that was within the field ofview of the autonomous vehicle. A bounding area defines the region ofthe image in which that vehicle is located. Thus, the vehicle in thecaptured image fits within the bounding area. Each vehicle in thecaptured image may have its own respective bounding area.

In some situations, the bounding area corresponding to one vehicle mayoverlap the bounding area corresponding to another vehicle. In thesesituations, the processing system will determine which vehicle is in theforeground and which vehicle in the background. Because the vehicle inthe foreground is fully within view, it will be completely containedwithin a bounding area. The vehicle in the background will be partiallyobscured by the foreground vehicle, thus its respective bounding areamay be clipped so only the respective vehicle is contained within thebounding area. In one example, a car with an active turn signal on maypass in front of another car. Due to the overlap in bounding boxes, theblinking lights of the car that is further away appear within thebounding box of the car nearer in the image. Therefore, the turn signaldetection system will determine which car the blinking turn signal isassociated with. Because the turn signal detection template looks forblinking groups of pixels of a certain size relative to each car, itwill not associate the blink with the near car because the group ofpixels has the wrong size for the near vehicle. The oscillating group ofpixels is too small.

In one embodiment, a processing system in the vehicle will analyze acaptured image to determine if the captured image contains a depictionof a vehicle. However, in other embodiments, the processing system inthe vehicle may already know the location of vehicles within an imagebased on other sensors on the autonomous vehicle. The other sensors onthe autonomous vehicle may record the location of vehicles located nearthe autonomous vehicle to a memory. For example, the combination of alaser system and a radar system may detect the locations of vehiclesnear the autonomous vehicle. These vehicle locations may be stored in amemory. The processing system may retrieve the data stored in the memoryof the vehicle. Based on the stored data, the processing system maydetermine a bounding area for any respective vehicles located in theimage.

Block 406 includes identifying a group of pixels in the image. The turnsignal detection system may search the bounding area of the shortexposure time image to determine at least one group of pixels in theimage. Because the bounding area corresponds to the maximum extent ofthe vehicle in the image, any turn signal indicators corresponding tothe vehicle will be located within the bounding area. In someembodiments, the left and right halves of the bounding area are analyzedindependently. Analyzing the left and right halves of the bounding areaindependently may allow the turn signal detection system to more easilyidentify whether a turn signal is associated with the left or right sideof a vehicle. Additionally, analyzing the left and right halves of thebounding independently may allow the turn signal detection system toidentify a turn signal when a vehicle is partially obscured by anotherobject, such as another vehicle. Additionally, because the image has ashort exposure time and a fast shutter, objects in the field of view ofthe vehicle that are bright show up in image. The turn signals of avehicle in image will show up as a group of pixels within the boundingarea of the captured image. In some instances, the bounding area maycontain groups of pixels corresponding to objects other than the turnsignals. For example, the vehicle may reflect sunlight toward the cameraor the vehicle may have a rear brake light. Each of these objects mayalso appear as a group of pixels within the bounding area. The turnsignal detection system will analyze each group of pixels to determineif it is an active turn signal indicator.

To determine if each group of pixels corresponds to an active turnsignal indicator, a determination of the color of the pixels in eachgroup of pixels may be used. As previously discussed, because turnsignals are typically either red or amber (yellow) in color, each groupof pixels may be analyzed based on the individual color components ofthe group of pixels. For example, the captured image may be divided intoseparate images for each color channel. In order to determine whetherthe group of pixels indicates a turn signal or whether the group ofpixels indicates a different light source, such as sun glare, a targetcolor channel may be compared to an undesirable color channel.

In one example, if each group of pixels indicates a presence of eitherred or amber, the group of pixels may be a turn signal indicator.However, if the group of pixels indicates the presence of an undesiredcolor as well (such as blue), then the group of pixels likely does notindicate a turn signal (as blue is not a color component of a turnsignal). The presence of both the desired color (red or amber) and theundesired color indicate the group of pixels is caused by a light sourcewith a fuller color spectrum than that of a turn signal, often thisfuller color spectrum light source is glare from the sun or other lightsource. Thus, block 406 determines at least one group of pixels that maycorrespond to a turn signal.

At block 408, an oscillation of the group of pixels is calculated. Aspreviously discussed, a turn signal indicator has three different modesof signaling. In the first two modes of operation the turn signalindicator has a steady intensity that is either high or low. However,having a relatively steading intensity indicates that the turn signal isnot currently active because an active turn signal blinks. The thirdsignaling mode is an oscillation from high intensity to low intensity.An oscillation from high intensity to low intensity indicates thevehicle within the bounding area may have an active turn signal.Typically, a turn signal will have an oscillation between about 0.75 andabout 2.5 Hertz. Thus, at block 408 groups of pixels are considered topossibly be turn signal indicators if the group of pixels has anintensity with an oscillation between about 0.75 and about 2.5 Hertz.

At block 410, the likelihood that a vehicle has and active turn signalindicator is calculated. In order for a group of pixels to likely be aturn signal, a three-part test may be used. First, the pixels shouldhave a color corresponding to the color of turn signal (as identified atblock 406), the pixels should have an oscillation between about 0.75 andabout 2.5 (as calculated at block 408), and the group of pixels shouldhave a shape that fits within a template shape. An oscillation from highintensity to low intensity on a group of pixels indicates thepossibility of an active turn signal; however, if a single bounding areahas two (or more) groups of pixels that are the correct color andoscillating, the groups of pixels may indicate either emergency flasherson the vehicle or a tapping the brakes on the vehicle. Additionally, thetemplate shape may be configured to detect groups of pixels that form ashape generally similar to a rectangle or circle, while possiblyrejecting a group of pixels that form a thin line. Pixels that form athin line are likely not a turn signal, but are indicative of adifferent light source, such as a glare. Another common occurrencebesides sun glare is that cars passing under tree or bridge shadowsappear to have their signals blink, but the combination of the abovechecks rejects such cases (as the oscillation my not have a strongenough variation in intensity, the oscillation may not have the correctfrequency, etc).

Thus, to detect a likely turn signal indicator, the processing systemdetermines if there is a group of pixels with a given bounding area thathas both the correct color for the pixels and an oscillating intensity.In some embodiments, the processing system looks for the brightest groupof pixels in each half of the bounding area. Further, the image maycontain a second group of oscillating pixels that correspond to adifferent bounding area. If only the group on one side has anoscillation over time, it is deemed a turn signal. If both sidesoscillate, it may be deemed to be an emergency flasher. Brake taps aredetected because they do not oscillate with the right frequency, andthey rarely oscillate more than once. The processing system increasesits confidence in turn signal prediction as it observes multiple blinks.When second group of oscillating pixels that correspond to a differentbounding area is detected, this may indicate there is a likelihood of asecond vehicle having an active turn signal indicator as well. Inresponse to determining that there is a likelihood that there is atleast one vehicle with an active turn signal indicator, a controlstrategy of the autonomous vehicle may be modified.

At block 412, the method 400 includes controlling the first vehiclebased on the modified control strategy. In an example, a computingdevice may be configured to control actuators of the first vehicle usingan action set or rule set associated with the modified control strategy.For instance, the computing device may be configured to adjusttranslational velocity, or rotational velocity, or both, of the vehiclebased on the modified driving behavior. In additional examples, thecomputing device may alter a course of the vehicle or alter a speed ofthe vehicle. Additionally, the computing device may record the detectedturn signal of the vehicle in the image. The computing device maycalculate vehicle control signals based turn signals on vehiclesdetected within the field of view.

In some embodiments, the disclosed methods may be implemented ascomputer program instructions encoded on a computer-readable storagemedia in a machine-readable format, or on other non-transitory media orarticles of manufacture. FIG. 5 illustrates an example computer readablemedium in the form of a computer program product 500 that includes acomputer program for executing a computer process on a computing device,arranged for real-time image-based car detection. In one embodiment, theexample computer program product 500 is provided using a signal bearingmedium 501. The signal bearing medium 501 may include one or moreprogram instructions 502 that, when executed by one or more processors(e.g., processor 113 in the computing device 111) may providefunctionality or portions of the functionality described above withrespect to FIGS. 1-4. Thus, for example, referring to the embodimentsshown in FIG. 4, one or more features of blocks 402-412 may beundertaken by one or more instructions associated with the signalbearing medium 501. In addition, the program instructions 502 in FIG. 5describe example instructions as well.

In some examples, the signal bearing medium 501 may encompass acomputer-readable medium 503, such as, but not limited to, a hard diskdrive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape,memory, etc. In some implementations, the signal bearing medium 501 mayencompass a computer recordable medium 504, such as, but not limited to,memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations,the signal bearing medium 501 may encompass a communications medium 505,such as, but not limited to, a digital and/or an analog communicationmedium (e.g., a fiber optic cable, a waveguide, a wired communicationslink, a wireless communication link, etc.). Thus, for example, thesignal bearing medium 501 may be conveyed by a wireless form of thecommunications medium 505 (e.g., a wireless communications mediumconforming to the IEEE 802.11 standard or other transmission protocol).

The one or more programming instructions 502 may be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device such as the computing device described withrespect to FIGS. 1-4 may be configured to provide various operations,functions, or actions in response to the programming instructions 502conveyed to the computing device by one or more of the computer readablemedium 503, the computer recordable medium 504, and/or thecommunications medium 505. It should be understood that arrangementsdescribed herein are for purposes of example only. As such, thoseskilled in the art will appreciate that other arrangements and otherelements (e.g. machines, interfaces, functions, orders, and groupings offunctions, etc.) can be used instead, and some elements may be omittedaltogether according to the desired results. Further, many of theelements that are described are functional entities that may beimplemented as discrete or distributed components or in conjunction withother components, in any suitable combination and location.

The above detailed description describes various features and functionsof the disclosed systems, devices, and methods with reference to theaccompanying figures. While various aspects and embodiments have beendisclosed herein, other aspects and embodiments will be apparent. Thevarious aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopebeing indicated by the following claims.

What is claimed is:
 1. A system comprising: a camera coupled to a firstvehicle, wherein the camera is configured to capture image data of anenvironment of the first vehicle; and a processor configured to: receiveimage data from the camera; detect, using the image data, a secondvehicle in the environment of the first vehicle; determine an angle ofthe second vehicle relative to the first vehicle; based on the angle ofthe second vehicle relative to the first vehicle, identify a blinkinglight source corresponding to the second vehicle in the image data;determine that the blinking light source corresponds to a turn signal ofthe second vehicle based on a road of travel of the first vehicle and atleast one parameter corresponding to the blinking light source; identifywhether the turn signal of the second vehicle is a left turn signal or aright turn signal; and control the first vehicle based on theidentification.
 2. The system of claim 1, wherein determining that theblinking light source corresponds to the turn signal of the secondvehicle comprises: determining whether the at least one parameter of theblinking light source is within a threshold level of a correspondingparameter of a turn signal of a vehicle.
 3. The system of claim 1,wherein the camera is coupled to a front portion of the first vehiclesuch that the camera has a field of view forward of the first vehicle.4. The system of claim 3, wherein detecting the second vehicle in theenvironment of the first vehicle comprises: detecting a rear end of thesecond vehicle in the image data.
 5. The system of claim 1, wherein thecamera is coupled to a rear portion of the first vehicle such that thecamera has a field of view rearward of the first vehicle.
 6. The systemof claim 5, wherein detecting the second vehicle in the environment ofthe first vehicle comprises: detecting a front end of the second vehiclein the image data.
 7. The system of claim 1, wherein determining thatthe blinking light source corresponds to the turn signal of the secondvehicle based on the road of travel of the first vehicle and at leastone parameter corresponding to the blinking light source comprises:determining that a flashing rate of the blinking light source is withina threshold flashing rate associated with a turn signal of a vehicle;and based on the determination, determining that the blinking lightsource corresponds to the turn signal of the second vehicle.
 8. Thesystem of claim 1, wherein determining that the blinking light sourcecorresponds to the turn signal of the second vehicle based on the roadof travel of the first vehicle and at least one parameter correspondingto the blinking light source comprises: determining that a position ofthe blinking light source is within a threshold position for a turnsignal of a vehicle; and based on the determination, determining thatthe blinking light source corresponds to the turn signal of the secondvehicle.
 9. The system of claim 1, wherein determining that the blinkinglight source corresponds to the turn signal of the second vehicle basedon the road of travel of the first vehicle and at least one parametercorresponding to the blinking light source comprises: determining that acolor of the blinking light source is within a threshold color rangeassociated with a turn signal of a vehicle; and based on thedetermination, determining that the blinking light source corresponds tothe turn signal of the second vehicle.
 10. The system of claim 1,wherein identifying whether the turn signal of the second vehicle is theleft turn signal or the right turn signal comprises: assigning abounding box to the second vehicle such that the turn signal is withinthe bounding box; dividing the bounding box into a left half and a righthalf based on a position of the second vehicle within the bounding box;and determining that the turn signal of the second vehicle is the leftturn signal based on the turn signal having a location in the left halfof the bounding box.
 11. The system of claim 1, wherein identifyingwhether the turn signal of the second vehicle is the left turn signal orthe right turn signal comprises: assigning a bounding box to the secondvehicle such that the turn signal is within the bounding box; dividingthe bounding box into a left half and a right half based on a positionof the second vehicle within the bounding box; and determining that theturn signal of the second vehicle is the right turn signal based on theturn signal having a location in the right half of the bounding box. 12.A method comprising: receiving, at a computing system, image data from acamera, wherein the camera is coupled to a first vehicle and configuredto capture image data of an environment of the first vehicle; detecting,using the image data, a second vehicle in the environment of the firstvehicle based on an angle of the second vehicle relative to the firstvehicle, identifying a blinking light source corresponding to the secondvehicle in the image data; determining that the blinking light sourcecorresponds to a turn signal of the second vehicle based on a road oftravel of the first vehicle and at least one parameter corresponding tothe blinking light source; identifying whether the turn signal of thesecond vehicle is a left turn signal or a right turn signal; andcontrolling, by the computing system, the first vehicle based on theidentification.
 13. The method of claim 12, wherein determining that theblinking light source corresponds to the turn signal of the secondvehicle comprises: determining whether the at least one parameter of theblinking light source is within a threshold level of a correspondingparameter of a turn signal of a vehicle.
 14. The method of claim 12,wherein determining that the blinking light source corresponds to theturn signal of the second vehicle based on the road of travel of thefirst vehicle and at least one parameter corresponding to the blinkinglight source comprises: determining that a flashing rate of the blinkinglight source is within a threshold flashing rate associated with a turnsignal of a vehicle; and based on the determination, determining thatthe blinking light source corresponds to the turn signal of the secondvehicle.
 15. The method of claim 12, wherein determining that theblinking light source corresponds to the turn signal of the secondvehicle based on the road of travel of the first vehicle and at leastone parameter corresponding to the blinking light source comprises:determining that a position of the blinking light source is within athreshold position for a turn signal of a vehicle; and based on thedetermination, determining that the blinking light source corresponds tothe turn signal of the second vehicle.
 16. The method of claim 12,wherein determining that the blinking light source corresponds to theturn signal of the second vehicle based on the road of travel of thefirst vehicle and at least one parameter corresponding to the blinkinglight source comprises: determining that a color of the blinking lightsource is within a threshold color range associated with a turn signalof a vehicle; and based on the determination, determining that theblinking light source corresponds to the turn signal of the secondvehicle.
 17. The method of claim 12, wherein identifying whether theturn signal of the second vehicle is the left turn signal or the rightturn signal comprises: assigning a bounding box to the second vehiclesuch that the turn signal is within the bounding box; dividing thebounding box into a left half and a right half based on a position ofthe second vehicle within the bounding box; and determining that theturn signal of the second vehicle is the left turn signal based on theturn signal having a location in the left half of the bounding box. 18.The method of claim 12, wherein identifying whether the turn signal ofthe second vehicle is the left turn signal or the right turn signalcomprises: assigning a bounding box to the second vehicle such that theturn signal is within the bounding box; dividing the bounding box into aleft half and a right half based on a position of the second vehiclewithin the bounding box; and determining that the turn signal of thesecond vehicle is the right turn signal based on the turn signal havinga location in the right half of the bounding box.
 19. The method ofclaim 12, wherein controlling the first vehicle based on theidentification comprises: altering a course of navigation of the firstvehicle.
 20. A non-transitory computer-readable medium configured tostore instructions, that when executed by a computing system comprisingone or more processors, causes the computing system to performoperations comprising: receiving image data from a camera, wherein thecamera is coupled to a first vehicle and configured to capture imagedata of an environment of the first vehicle; detecting, using the imagedata, a second vehicle in the environment of the first vehicle based onan angle of the second vehicle relative to the first vehicle,identifying a blinking light source corresponding to the second vehiclein the image data; determining that the blinking light sourcecorresponds to a turn signal of the second vehicle based on a road oftravel of the first vehicle and at least one parameter corresponding tothe blinking light source; identifying whether the turn signal of thesecond vehicle is a left turn signal or a right turn signal; andcontrolling the first vehicle based on the identification.